/**
 * 应用配置文件
 * 根据环境区分不同的配置
 */

// 默认配置
const defaultConfig = {
  // 应用名称
  appName: 'TODO应用',
  // 版本号
  version: '1.0.0',
  // 请求超时时间
  timeout: 60000,
  // AI请求超时时间
  aiTimeout: 120000
}

// 开发环境配置
const developmentConfig = {
  ...defaultConfig,
  // 开发环境API地址
  apiBaseUrl: 'http://localhost:8080',
  // 开发环境标识
  isDevelopment: true,
  // 开发环境日志级别
  logLevel: 'debug'
}

// 生产环境配置
const productionConfig = {
  ...defaultConfig,
  // 生产环境API地址 - 根据实际部署情况修改
  apiBaseUrl: 'https://todoapi.hexun.com',
  // 生产环境标识
  isDevelopment: false,
  // 生产环境日志级别
  logLevel: 'error'
}

// 测试环境配置
const testConfig = {
  ...defaultConfig,
  // 测试环境API地址
  apiBaseUrl: 'http://test-scrm-todo.sw.test.k8s.hexun.com',
  // 测试环境标识
  isDevelopment: false,
  // 测试环境日志级别
  logLevel: 'warn'
}

// 根据环境变量选择配置
const getConfig = () => {
  const env = import.meta.env.MODE || 'development'
  
  switch (env) {
    case 'production':
      return productionConfig
    case 'test':
      return testConfig
    case 'development':
    default:
      return developmentConfig
  }
}

// 获取当前配置
const currentConfig = getConfig()

// 配置验证函数
export const validateConfig = () => {
  const requiredFields = ['apiBaseUrl', 'timeout', 'aiTimeout']
  const missingFields = requiredFields.filter(field => !currentConfig[field])
  
  if (missingFields.length > 0) {
    console.error('配置验证失败，缺少必需字段:', missingFields)
    return false
  }
  
  if (currentConfig.isDevelopment) {
    console.log('✅ 配置验证通过')
  }
  
  return true
}

// 导出当前环境的配置
export default currentConfig

// 也可以单独导出各环境配置
export {
  developmentConfig,
  productionConfig,
  testConfig
} 